AXILA ===== 1.17 MP 26/SEP/06 modifying way the current command is set in driver_manual.PR240698 1.16 MP 22/SEP/06 getting back registry settings from GDS on close. BACKTALK ======== 2.49 04/23/07 GG driver_read_position is now converting correctly. 2.47 03/14/07 GG Manual scans were not working. COMM32 (not really an interface, but can be updated anyway) ====== 3.5 11/30/06 MP fixes a problem with Mora serial interface on fast computer. ELM === 1.45 11/21/07 GG Fixed issue where STI would not work with this interface PR# 251431 1.44 11/08/07 GG Making sure that the LAST move is actually EXECUTED 1.43 11/06/07 GG Changed AfxMessageBox to PCDMessageBox, for the STI Interface. PR# 251431 1.42 06/28/07 GG Making sure the move is actually complete before rotating the probe 1.40 04/18/07 GG Fixed crash when "Press End Key" is unchecked PR#247042 1.39 03/30/07 GG Fixed prehit not being calculated correctly for inch mode 1.38 12/22/06 GG Added option to use "ApproachSample" PR# 245517 1.37 10/25/06 GG Removed code that closes PC-DMIS when driver is not active Johansson ========= 1.110 18/OCT/06 MP driver_special_learnmode_option added, with condit. for 4.2and later + error handling for APC 1.109 10/JUL/06 MP handling of error 23 (FOLLOWING [?LAG?] PR240265. LKDRIVER ======== 3.14 Added check for global_IgnoreMotionErrors for toolchangers PR# 249353 3.13 Fixed issue where multiple "Probe Not Armed" errors would be reported to PC-DMIS causing it to sometimes crash and caused the "Manual Print" button to not work on the jogbox. PR#s 248556 and 248583 Fixed issue where errors would not show up correctly in the exdecution dialog. PR 248862 Sharpe ====== 2.181 07/11/08 GG Started adding support for driver_move_all. Right now the interface calls driver_move_absolute then driver_move_ph9. 2.180 02/28/08 GG Fixed manual hits when IngoreMotionErrors is TRUE PR#253204 2.179 05/17/07 GG Fixed issue where manual hits do not always register. PR# 247016 2.178 11/28/06 GG Fixed issue where was not "dampened" when changing tools. PR# 244643 2.177 11/28/06 GG There was an issue when the resolution is not setup in the registry that the interface would go into loop on startup. This has been fixed. PR# 242954 and 241656 2.176 11/09/06 GG Added variable to the settings(ProbeDelay). This is a delay between manual mode and enabling probe. 2.175 05/12/06 GG Put in Auto mode everytime driver_move_ph9 is called Sheffield ========= 3.35 EM 06/26/08 Fix for PR#255289. PC_Dmis shut down when measuring an outside AutoCircle Fix for PR#254830. Manual hits have flipped vectors. Fix for PR#255525. pc-dmis crash when I cancel the execution of the manual measurement by click "cancel" or "stop" button. Fix for PR#255561. PC-Dmis crashes with Sheffield control executing a circle. Fix for PR#255077. Frequent application errors seem to be related to interface/execution. 3.34 EM 03/20/08 Fix for PR#253902. Table will not rotate to increments less than .5 degree. Added setting MinRotaryTableAngle, default=0.5. Fix for PR#254058. PCDMIS hangs when trying to change probes between 2 SCR200 racks without error message displayed. Fix for PR#254253. Application error when calibrating multiple tips. 3.33 EM 03/08/08 Fix for PR#253683. PC-Dmis crashes at started up. 3.32 EM 02/14/08 Fix for PR#252200. Program created and executes fine in 3.7 hangs in 4.2. 3.31 EM 12/11/07 Fix for PR#244194. Swedish: English is not translated 3.30 EM 12/05/07 Fix for PR#251719. learned points vectors problem. 3.29 EM 10/22/07 Fix for PR#251058. communication failed when I start pc-dmis. Test for J& (display msg header) in status bit msg (D% response) Fix for PR#250865. PI200 has to be manually reset after picking up a probe. Force rotation to reset probe, if (new) setting InhibitForcedRotation=FALSE. Fix for PR#251045. during a probe change, the execution stop. Removed FLYMODEON test for blended moves. 3.28 EM 10/04/07 Fix for PR#250569. Default value for setting PositionNeedsCurrentRead is now TRUE. 3.27 EM 08/03/07 Fix for PR#249267. Problem with speed of execution. Change for UMP360 support of circular moves in firmware version 29. 3.26 EM 06/22/07 Fix for PR#248085. UMP360 controller make the wrong probe file 3.25 EM 05/30/07 Fix for PR#248296. SP600 - Too Much Probe Deflection error as it tries to calibrate the tip 3.24 EM 05/23/07 Fix for PR#243751. Unexpected probe hit during manual tip change. Fix for PR#248253. After completing linear closed scan probe retracts from part too far. 3.23 EM 05/10/07 Fix for PR#2478980. Feature location differs when measured with PH5 with tips in +X and -X. Fix for PR#242017. USE part alignment corrupts part program alignments and CMM moves in DCC away from targeted coordinates. 3.22 EM 04/30/07 Start conversion to .net2005 3.21 EM 04/26/07 Fix for PR#247825. find hole not working consistently. 3.20 EM 04/18/07 Fix for PR#246305. Now trapping error 96, Unable to select Auto mode, and re-issuing command(s) Fix for PR#246442. Take hits now enabled after a move issued via the Probe Toolbox Fix for PR#247545. On Error now operates the same as the Leitz, i.e. ONERROR command overrides ONERROR toggle Fix for PR#247591. An error message, AUTO MODE IS REQUIRED, is now issued so that the operator knows to toggle the RUN/HOLD button on the B&S JogBox or the AUTO button on the Sheffield RCU when a Auto feature dialog (and not an execute dialog) is being displayed 3.19 EM 03/09/07 Fix for PR#s 246319 and 246331. Current probe angle now processed correctly. Systems with UMP-360 controller and B&S JogBox ONLY. 3.18 EM 02/02/07 PR#246346. Made Blended Move Tolerances variable via setting 3.17 ZH 01/25/07 PR#246226. Fixed problem with error msgs on startp for non-admin 3.16 ZH 12/20/06 PR# 244599. Fixed bug in 3.15 fix 3.15 ZH 12/05/06 PR# 244599. Set Move Tolerance to minimal during tool change 3.14 ZH 11/21/06 PR# 245088. Bad Relative Move after Measure 3.13 EM 11/13/06 Fix for PR#244601 where "Temp Comp Locks up" 3.12 EM 11/03/06 Recovery from Axis Counter Fault; MP errors 33, 34, 35, 36 3.11 EM 10/17/06 Removed setting HomeProbeOnStartup 3.10 EM 10/12/06 Added setting HomeProbeOnStartup 3.09 EM 10/06/06 Fix for PR#235433 - removing support for probe deviation when calibrating analog probes Fix for PR#243730 - BasicCircleScan: Scan does not stop after 360' Changed message for unsupported scans to one that better describes the situation 3.08 EM 10/03/06 Fix for PR#243625 where "Can't adjust scan speed" 3.07 EM 09/22/06 Fix for PR#242961 where "The MP35 counters are way out of synch with the PC-DMIS DRO..." 3.06 EM 09/15/06 Value for Num Ret Data (scan data filter setting) now ignored, FS command now hard-coded to zero (0) 3.05 EM 08/30/06 Fix for PR#242671/PR#241495 where backoff move from last scan pt. before deflection error was incorrect. Added recovery for open loop cylinder scan. 3.04 EM 08/25/06 Fix for PR#242671/PR#241495 DLL 3.03. BasicCircle scan did not recover after error/I can't recover from a probe deflection error while doing a Basic Circle Scan; Revert to closed loop scan for under/over deflection on initial approach Changed scan cancellation commands sent to controller to be similar to MeasureMax 3.03 EM 08/18/06 Fix for PR#242369 Basic Cylinder scan with Pitch of 2mm and 180 degrees of angle crashed when in INCH mode Fix for PR#242328 The implementation of scanspeeds in the Sheffield interface is inconsistant with other hardware and very confusing. Open loop scan speeds are now limited to setting MaximumVelocity in absolute mode. Open loop scan speed cannot exceed 100% of MaximumVelocity. Closed loop scan speeds are now limited to (new setting) MaxClosedLoopScanVelocity in absolute mode. Closed loop scan speed cannot exceed 100% of MaxClosedLoopScanVelocity. When recovering from a failed open loop scan, closed scan speed is 10% of the open loop scan speed with a ceiling of MaxClosedLoopScanVelocity. Setting ScanSpeed is now OBSOLETE. ZH Fix for PR# 235433(242057) Probe Offset data (via the D0 command) is the only command/data modified by mechanical offset; the MEA_CALIB_SPHERE is now created after the MEA_MECH_OFS_SPHERE is measured. Cleaned up two stack problems that caused random application error after a recoverable controller error. Added 'PositionNeedsCurrentRead' to registry to fix PR# 242183. This should only be set to TRUE by a Service Eng during machine calibration. 3.02 EM 06/28/06 Check for validity of spherical boundary radius against scan type. Added setting TrackingMoveTargetZone default is 5.0mm. Used for unsupported scan boundary types and scan types that do not allow entry of spherical boundary radius, i.e. Basic Scan types except Line. Used only for closed loop scanning. Changed query capability function to allow for a NULL pointer to the capability value string. 3.01 EM 06/26/06 Check for min/max limits for spherical boundary conditions. If value < .2mm the boundary is set to 5mm. If the value is > 10mm, the boundary is set to 5mm (controller default value). 3.00 EM 06/22/06 Check for min/max limits for spherical boundary conditions. If value < .2mm the boundary is set to .2mm. If the value is > 10mm, the boundary is set to 5mm (controller default value). 2.99 EM 06/21/06 Fix for PR#241272 - Circular move speed now adusted based on radius of arc Changed meaning of setting ScanSpeed; it now indicates maximum scan speed (absolute) for open loop scanning, closed loop scan speed is 10% of the open loop scan speed. The ScanSpeed command specifies absolute speed or percentage of setting ScanSpeed depending on absolute mode setting. Fix for PR#241170 - fixed data offset problem; Scan representations are properly aligned with the model in the Graphics window. All scans opened up for closed loop. 2.98 EM 06/17/06 Fix for PR#241170 - fixed analog scanning for various probe orientations and alignments 2.97 EM 06/09/06 Correction in retrace move in failover from OpenLoop scanning... the retrace was moving CW (instead of CCW) for a CW scan to get back to the start point. Fix for problem where JogBox functionality was being disabled when temp was initialized with a 0 part material coefficient. Now executing a SaveDefaults() when exitting the CMM Setup dialog 2.96 EM 06/06/06 Fix for problem where part program is hanging when making a temp comp request 2.95 ZH 05/31/06 Corrected incorrect axis rotation going down to the controller. Reliably send down probe offsets eevn for manual probe systems Do not process temp comp commands if the machine doesn't support it 2.94 EM 05/17/06 Fix for Find Hole problem where hole is out of position and never found; read probe position did not work first time. Fix for PR#236058 - LED now illuminates when aligning a FCR25 slot that contains a module different than the one used to calibrate the slot. Eliminated error 170 when calibrating a FCR25 slot with a Stylus Holder using the SHSP 2.93 EM 05/04/06 Made setting UseClosedLoop available for inner and outer circles Added CMM_ALL_AXIS_MOVE & CMM_CIRCULAR_MOVE parameters to Query Capability Fix for PR#240137 2.92 EM 04/26/06 Added support for query capability Fix for PR#240117 - When attempting to scan on an 997 with Sp600,TOO MUCH PROBE DEFLECTION errors occurs Fix for PR#240121 - Unexpected probe hit occurs at the termination point fo an basic circle scan though part contact is not made 2.91 EM 04/25/06 Fix for PR#240059 - change in PCDMessageBox 2.90 EM 04/19/06 Fixes for PR#236934 and PR#236058 2.89 EM 04/13/06 Initial implementation of new methodology for probe calibration by determining mechanical probe offsets in a special procedure. Creating 2 calibration tools on startup, MEA_MECH_OFS_SPHERE and MEA_CALIB_SPHERE. Added settings _MECH_P_TOL, _MECH_M_TOL, and MechanicalOffset. Changed function of immediately writing data variables to registry from SaveDefaults() to PCDWriteProfile() 2.88 EM 04/05/06 Fix for problem where tempcomp readings were not being propoerly stored/updated in the edit and report windows Added CMM configuration information to USER_Sheffield 2.87 EM 03/31/06 Fix for problem driver_go_manual does not put controller in Manual mode when setting SendMNonGoManual=TRUE 2.86 EM 03/24/06 Fix for problem where tempcomp queries are not being initiated on the first call to driver_read_position Set default value for setting UseNewCancel to TRUE Ignore tempcomp sensors reporting a value of 4095 for the current temperature, sensor is bad or missing Fix for problem where an underdeflection reported in response to the "AS" command was prematurely terminating a circle scan Move Blending is no longer permitted during tool changes 2.85 Initial Release Version ROMER ===== 2.471 DS 04/16/06 If mouse-mode switching is not allowed, disable mouse mode. 2.47 DS 04/12/06 Disable mouse-mode switching (PR 239518). 2.46 DS 03/29/06 Disable setting of volume at initialization (see PR #239418). Tech80 ====== 4.45 12/13/07 GG Fixed the crash that occurred every time PC-DMIS was closed (PR# 249885) 4.44 05/29/07 GG Fixed issue of hits not registering after invalid hit (PR# 243183) 4.43 06/22/06 GG Allowing the Mouse3 to either call store_point or send_hit depending on the call_back 4.42 03/09/06 GG Verifying to make sure the hit/position is valid before sending to PCD. Wenzel ====== 1.57 05/23/08 GG Added command during init to make sure the terminating character is always what we expect - "ACK" 1.55 08/15/06 PH Fix homing problem 1.54 08/11/06 PH Move source to \\MACHINE_INTERFACE Zeiss GPIB ========== 2.26 08/25/08 RK PR# 255802 and 249693 ACCELERATION for Zeiss configuration is used as default for Acceleration and as maximum The values for acceleration which are changed from driver_initialize are offered in Motion dialog. 2.25 12/14/07 ZH Fixed problem with Error after STOP. PR# 252082 2.24 09/20/07 ZH Fixed retract problem for 8-bit controllers // NEEDS REVIEW-ZH 2.23 03/06/07 MP Plastisud: new setting SpeedAndAccPerAxis to allow set values for 3 axis or not NOT based on 8bitController // NEEDS REVIEW-ZH + LockAcceleration which locks transmitted accel to value set in registry. 2.23 02/27/07 ZH Possibility to reverse Y axis readings (via registry ReverseY)BEFORE going to Volcomp from CMM->PCD or after if PCD->CMM 2.22 05/17/06 ZH Send down retract value for bad hit retract when the controller retries hit 2.21 03/23/06 MP Alupress: mods in driver_stop_probe for RS232 to properly handle stop / error 2.20 02/27/06 PH Copy old renamed toolchanger settings values to new settings on upgrade 2.19 02/15/06 ZH Removed analog related commands if not using Analog probe Corrected problems related to Check distance (PR 238535) Send prehit command to controller to start touch speed at prehit position 2.18 12/19/05 ZH Added support for UX probe head Fixed bug that incorrectly applied search distance. 2.17 12/15/05 PH Fix error recovery for MC550 controller 2.15 12/05/05 ZH Added tipOffset to registry in order to correctly use converted Zeiss volcomp 12/06/05 ZH PR# 232220. Execution stops with Cancel. 2.14 11/22/05 ZH Fixed problem with extra move in circular moves Zeiss ===== 1.60n 12/11/08 GG asking_home flag was not getting set to FALSE if the machine was never homed. This caused the manual retract to not be set. GG Added setting for minimum touch speed to config file. When touch speed was too low, caused probe to move into part without taking hit. 1.59n 12/10/08 RK Configuration options from [Config] written out to debug file. 1.58n 11/14/08 MP (woodward) added registry setting SwapCw_Ccw to separate CW/CCW definition from counting direction 1.57n 10/22/08 RK Remote IP_Button: 2 new buttons added for stopping and continueing execution 1.56n 10/12/08 RK New config parameter (CMM_CONFIG_)IGNORE_ERROR_LIST="354, 1022" - error to be read and ignored in ZeissCMM RK New config parameter (CMM_CONFIG_)IGNORE_ERROR_INITIALIZATION, IGNORE_ERROR_INITIALIZATION=1, 0 by default, On UDP machine it ignores the first interrupt with error detection (VW Anchietta Brazil - SMC machine) RK New config parameter (CMM_CONFIG_)MANUAL_PROBE_MODE=1 makes VAST head (HSS) to run with M01,M02,M21 and M22 commands avoiding M75 (probe head vector mode) RK New config parameter (CMM_CONFIG_)DEVELOPMENT_TEST, DEVELOPMENT_TEST=1, 0 by default - internal testing flag for development RK For 16-bit: D34S1 is called when 4 bit of SRQ status in interrupt is set. It clears the bit and reads-out the string a about which interrupt informs. RK It improves homing. 1.55n 09/25/08 RK Configuration file extension - improvements, fixes, detection of empty lines. 1.54n 08/25/08 RK Configuration file extension – alternative statements for Config section in the form of NAME=value or NAME RK new module and class CommandLoader - configuration file made reusable for other projects RK PR# 255802 and 249693 ACCELERATION for Zeiss configuration is used as default for Acceleration and as maximum RK The values for acceleration which are changed from driver_initialize are offered in Motion dialog. 1.53n 08/14/08 RK fixed ZeissCMM::cmmGoJogMode for 8bit controller (error introduced in 1.50n), Also related fix in cmmSetParam for CMM_PARAM_SPEED. RK Always move to the start of the scan at move speed (see driver_begin_dcc_scan for full description) RK DirectionVector adjusted for 8bit controller (error introduced in 1.51 with new 16bit scanning support) RK implemented Scan circle for 8bit controller: (zssScanCircle now correctly prepares data for ZeiCMM::scan_8bit... linear open scan) RK 8bit scanning: extended calculation of RetractVector for each plane (originally for Z plane only) 1.52n 08/01/08 RK fixed ZeissCMM::cmmAttachProbe: added M14 (Re-enabling detection for probing and collision) 1.51n 07/17/08 RK CMM_SCAN_TYPE_LINE_BASIC support - added setFeatureMatrix (sets the matrix and G112 command) ZH Jog speed after scanning 1.50n 07/15/08 MP VW Taubate: restore speed on go manual via G53/go manual on cllision / missed point / bad hit = re-probe strategy in UDP modified to go G60/G12 all these changes are flagged as [7/14/2008 or [7/15/2008 1.49n 06/12/08 ZH One more fix for previous workaround 1.48n 06/06/08 ZH Fixed problem of bad hit data from previous workaround PR# 248795 - bad scan with axis change Additional fix to prevent probe rotation when moving 1.47n 05/21/08 ZH Workaround for hardware problem where hit doesn't register (DSE) but no error from controller Fixed problem with receiving an error and ignoring it during resending while waiting for a specific response 1.46n 05/02/08 ZH PR# 253782. Extra incorrect rotation after toolchange 1.45n 03/05/08 ZH Finished support for 8-bit scanning cmm. 1.44n 02/14/08 ZH Added option 'UseUmessPrehit' to mimic Umess use of prehit 1.43n 01/21/08 ZH Ignore passive errors 289 (No channel support, dcc cmd on a manual machine), 234 (bad format in cmd) 1.42n 12/21/07 ZH Fixed analog tip calibration for controllers that don't return deflections 1.41n 11/08/07 ZH Finished support for 8-bit controller (non-scanning) Fixed driver_move_relative problem due to retract not calculated for move position 1.40n 10/30/07 ZH Added support for 8-bit scanning. This is only 80% complete Added fix for 8-bit controller speeds. Uses new flag in config file Added fix for bad scans on angled planes PR# 249226 Fixed bug where tool change would make extra long move if not dropping off probe 1.39n 08/14/07 ZH Corrected problem with error handling w/ 8-bit controller Fixed bug with tool changer pickup w/ ST probe Fixed PR# 249403. ZEISS NEW INTERFACE =================== 1.99n 06/24/10 ZH XXT probe type - calibration and scanning (RDS_XXT_PROBE_TYPE) 1.98n 06/23/10 RK new config option - SCALE_PARSE_SCANNING=[SCALE_PARSE_XYZ_W_IJK_FxFyFz|SCALE_PARSE_X_Fx_Y_Fy_Z_Fz_W_IJK|SCALE_PARSE_X_I_Y_J_Z_K_W_AB|-1] new config option - EXCLUDE_HIT_VALIDITY_TEST=[01], default 0, for 16bit controllers - (usually 0 byte of response to D16S1 is cheked on '@') 1.97n 06/22/10 RK CrashRpt added 1.96n 06/07/10 RK New custom commands (30, 31, 32) - reinitialize machine - cool boot, warm boot and DSE homing New section [CustomFunction] will be used for DSE homing - custom command 32 New section [ResetCMM] will be used for cold boot - custom command 30 Example of ResetCMM send D108 down to controller and waits 15 seconds before it continues: [ResetCMM] "D108\x0D\x0A", 0, 1, "", 0, 0, 0 "", 15000, 1, "", 0, 0, 0 CustomFunction can be used for DSE probe heads to recover the head position according the CAA map (UMesss command 1590) 1.95n 06/03/10 RK new option for tool changing - VASTReadoutErrorAtEnd. FALSE by default. (8/MT/ZEISSTC2 At the end of tool changing cycle UMESS calls D14 and ignores the response - observed 0 nd 99). fixed changes from 1.93 - corrected CRLF debug output 1.94n 04/25/10 RK CALCVECTOR_FLIP (flipping vectors after vector calculation) 1.93n 04/25/10 RK Controller responses with \x0D\x0A made more readable in debug (convert CRLF). 1.92n 04/21/10 RK fixed cmmGoJogMode to call G96 at the beginning reworked CMM_PARAM_HARDWARE_VECTOR to be general (deflections aren't zero anymore). corrected ignoring of CMM errors for 8 bit controllers 8 bit Measurig head (analogue) - default point calculation changed to history (force was wrong) ZH Added new responses from controller: CMM_GET_HIT_VECTOR, CMM_GET_HIT_FORCE ZH 8 bit Measuring head - getHit is improved with waiting for stop and checking for empty command queue (move cmds) IP_Button.H.CPP made into a separate module instead of including IP_Button.CPP in ZEISSNEW.CPP 1.91n 03/30/10 MP allow to use hardware defined vectors (RK - for now with zeroing deflections) 1.90n 03/11/10 RK UDP headers are output Added more callback types into ZeissCMM for ZeissConfigurationTool 1.23 1.89n 02/25/10 RK set_manuals_forces called to set forces from parameters even for manual mode ZEISS NEW INTERFACE =================== 1.993n 07/15/10 RK UDP Packet with zero length ignored in order to establish correct UDP packet sequencing (Woordward Governor) VAST change tool produced error "unexpected hit" (M12 was sent to controller when probe was moving - Woodward Governor) 1.992n 07/14/10 RK fixed VAST scanning (bug introduced in 1.76n) 1.991n 06/30/10 RK new config option USE_D12_GET_HIT_POSITION (default 1) - it was observed using read position (empty string) for obtaining hits(on MT,GPIB), set this option to USE_D12_GET_HIT_POSITION=0 if you want to use this emprty string for hits. Corrected retract command for 8bit controller with PH9 - D25 F063 instead of incorrect D25 F300. MZEISS interface =================== 1.11 07/26/10 RK PR# 269178 volOffset was applied twice 1.10 01/18/10 RK Debug manager support 1.10 08/20/07 ZH Prompts for homing when needed if 'NeedsHomePosition=TRUE'. 1.09 02/07/07 GG Added the option to reset the scales during initialization to all versions...previously only 3.7MR2 1.08 01/17/06 GG Added the option to reset the scales during initialization MANMORA interface =================== 1.08 07/26/10 RK Error in VolComp - volOffset was applied twice OMNIMAN interface =================== 1.03 07/26/10 RK Error in VolComp - volOffset was applied twice parent: 7335:0216d3ae5261 tip Added tag Build - hudson-PcDmis2010_MR3_QA_Installer-58 - build0 for changeset db5d4cd5eae9 branch: pcdmis2010_mr3_qa commit: 5 unknown (clean) update: (current) ZEISS NEW INTERFACE =================== 1.995n 08/11/10 RK Jogbox speed and DCC speed can be different now (configuration options - JOGBOX_SPEED, MAX_SPEED) ZEISS NEW INTERFACE =================== 1.996n 07/12/10 RK For blue jogbox key space avoided possible crashes caused from pressing some keys (space) ZEISS NEW INTERFACE =================== 1.997n 01/11/11 RK Jogbox key 6 allows to disable probing and pops up the dialog with text "Probing is disabled until you press OK". G53 (without parameters) was added at the end of routine which sets manual mode speed for newer controllers. It resolves problems with creepingly slow manual mode speed after collisions or when part program ends with hit.